/**
 * 
 */

package com.chengyu.eyc.properties;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * @author kevin
 *
 */
@Component
@ConfigurationProperties(ignoreInvalidFields = false, prefix = "eyc.sms")
public class SmsProperties {

    public static class Account {

        private String sid;

        private String token;

        /**
         * @return the sid
         */
        public String getSid() {
            return sid;
        }

        /**
         * @return the token
         */
        public String getToken() {
            return token;
        }

        /**
         * @param sid the sid to set
         */
        public void setSid(String sid) {
            this.sid = sid;
        }

        /**
         * @param token the token to set
         */
        public void setToken(String token) {
            this.token = token;
        }

    }

    public static class Server {

        private String host;

        private String port;

        /**
         * @return the host
         */
        public String getHost() {
            return host;
        }

        /**
         * @return the port
         */
        public String getPort() {
            return port;
        }

        /**
         * @param host the host to set
         */
        public void setHost(String host) {
            this.host = host;
        }

        /**
         * @param port the port to set
         */
        public void setPort(String port) {
            this.port = port;
        }

    }

    public static class Template {

        private String id;

        /**
         * @return the id
         */
        public String getId() {
            return id;
        }

        /**
         * @param id the id to set
         */
        public void setId(String id) {
            this.id = id;
        }

    }

    private String appId;

    private final Server server = new Server();

    private final Account account = new Account();

    private final Template template = new Template();

    /**
     * @return the account
     */
    public Account getAccount() {
        return account;
    }

    /**
     * @return the appId
     */
    public String getAppId() {
        return appId;
    }

    /**
     * @return the server
     */
    public Server getServer() {
        return server;
    }

    /**
     * @return the template
     */
    public Template getTemplate() {
        return template;
    }

    /**
     * @param appId the appId to set
     */
    public void setAppId(String appId) {
        this.appId = appId;
    }

}
